package com.snack.shop.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.snack.shop.entity.MerchantMessage;

/**
 * 商家消息服务接口
 */
public interface MerchantMessageService {
    
    /**
     * 创建商家消息
     * @param merchantId 商家ID
     * @param type 消息类型
     * @param title 标题
     * @param content 内容
     * @param bizType 业务类型
     * @param bizId 业务ID
     */
    MerchantMessage create(Long merchantId, Integer type, String title, String content, String bizType, Long bizId);
    
    /**
     * 分页查询商家消息
     * @param merchantId 商家ID
     * @param type 消息类型（可选）
     * @param current 当前页
     * @param size 每页大小
     */
    Page<MerchantMessage> pageByMerchant(Long merchantId, Integer type, Integer current, Integer size);
    
    /**
     * 获取未读消息数
     * @param merchantId 商家ID
     */
    Integer getUnreadCount(Long merchantId);
    
    /**
     * 标记单条消息已读
     * @param merchantId 商家ID
     * @param messageId 消息ID
     */
    void markRead(Long merchantId, Long messageId);
    
    /**
     * 全部标记已读
     * @param merchantId 商家ID
     */
    void markAllRead(Long merchantId);
}
